SetAxisGear
命令从轴和主动轴的速度之间的比率。
语法
KsCommandStatus SetAxisGear(
int Master,
int Slave,
BOOL Permanent,
double Ratio,
McSource MasterValueSource,
double Acceleration,
double Deceleration,
double Jerk,
McBufferMode BufferMode
);
参数
Master [in]:主轴索引。索引以零为起点;别名将影响此参数。
Slave [in]:从轴索引。索引以零为起点;别名将影响此参数。从轴之最大数量为 32 轴。
Permanent [in]:决定马达停用后是否保留齿轮状态。
TRUE:马达停用但保留齿轮状态,例如当主轴启用时从轴也会跟著启用,而当主轴发生错误从轴也会发生错误。
FALSE:马达停用后不会保留齿轮状态。
Ratio [in]:齿轮比例。例如若比例为 3:2,从属装置移动三个单位而主装置移动两个单位。
MasterValueSource [in]:定义同步的来源。请见 McSource 类型
- mcSetValue – 同步主轴设定值,建议使用此设定。
- mcActualValue-同步主轴实际值,此设定可能不稳定。
- mcSecondEncoderValue – 轴的第二编码器实际值。
注意:尚未支援 mcSecondEncoderValue。
Acceleration [in]:齿轮加速度。
Deceleration [in]:齿轮减速度。
Jerk [in]:齿轮加加速度。
BufferMode [in]:定义如何融合两功能的速度,请见 McBufferMode 类型
回传值
返回 KsCommandStatus 结构。
备注
- 从轴加速到主轴速度的比率,并在达到此速度时锁定,同步期间遗失的任何距离都无法赶上。
- 可在 SetAxisGear 运行时使用连续的 SetAxisGear 函式更改齿轮比,无需先 ReleaseAxis。
- 在 “InSync” 后,位置锁定或只锁定速度是特定系统才有的。
- 欲分离从轴,请使用 ReleaseAxis。
范例
KsCommandStatus AssignGearSlave(INT Master, INT Slave) {
KsCommandStatus gear = WaitForCommand(10, FALSE, SetAxisGear(Master, Slave, FALSE,
2 / 1, //Gear factor
mcSetValue, /*Master Value Source. Value of the master position used.
Cam be the target position (commanded value and set value are identical)
or the actual position.*/
36000,
36000,
3600000,
mcAborting)
);
return gear;
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
标头档 | ksmotion.h | ksmotion.h |
程式库 | KsApi_Rtss.lib | KsApi.lib |
参见